home *** CD-ROM | disk | FTP | other *** search
/ TOS Silver 2000 / TOS Silver 2000.iso / programm / MM2_DEV / S / MOS / INOUTBAS.D < prev    next >
Encoding:
Modula Definition  |  1990-05-03  |  3.0 KB  |  87 lines

  1. DEFINITION MODULE InOutBase;
  2.  
  3. FROM SYSTEM IMPORT WORD, LONGWORD;
  4.  
  5. VAR consIn, consOut: BOOLEAN;
  6.     level, inLev, outLev: CARDINAL;
  7.     termCh: CHAR;
  8.     eop, done: BOOLEAN;
  9.  
  10. VAR     InitDriver: PROC; (* Wird aufgerufen, sobald InOut o. Text init. ist *)
  11.                           (* Ggf. muß doppelter Aufruf berücksichtigt werden!*)
  12.  
  13. TYPE    OpenProc  = PROCEDURE ( CARDINAL, CARDINAL );
  14.         ClsProc   = PROCEDURE;
  15.         ReadProc  = PROCEDURE ( VAR CHAR );
  16.         WriteProc = PROCEDURE ( CHAR );
  17.         LWProc    = PROCEDURE;
  18.         KeyPrProc = PROCEDURE (): BOOLEAN;
  19.         GoXYProc  = PROCEDURE ( CARDINAL, CARDINAL );
  20.         CReadProc = PROCEDURE ( VAR CHAR, VAR BOOLEAN );
  21.         RStrProc  = PROCEDURE ( VAR ARRAY OF CHAR );
  22.         WStrProc  = PROCEDURE ( REF ARRAY OF CHAR );
  23.         GetInProc = PROCEDURE ( VAR ARRAY OF CHAR );
  24.         GetOutProc= PROCEDURE ( VAR ARRAY OF CHAR, VAR BOOLEAN );
  25.         OpErrProc = PROCEDURE ( VAR ARRAY OF CHAR, VAR BOOLEAN );
  26.         IOErrProc = PROCEDURE ( VAR ARRAY OF CHAR, BOOLEAN );
  27.  
  28. VAR     (* Unit - Treiberfunktionen für Modul 'InOut' *)
  29.         OpenWdw: OpenProc;
  30.         CloseWdw: ClsProc;
  31.         KeyPressed: KeyPrProc;
  32.         CondRead: CReadProc;
  33.         Read: ReadProc;
  34.         ReadString: RStrProc;
  35.         Write: WriteProc;
  36.         WriteString: WStrProc;
  37.         WriteLn: LWProc;
  38.         WritePg: LWProc;
  39.         FlushKbd: LWProc;
  40.         GotoXY: GoXYProc;
  41.         GetInput: GetInProc;
  42.         GetOutput: GetOutProc;
  43.         OpenError: OpErrProc;
  44.         IOError: IOErrProc;
  45.  
  46. TYPE    pRead       = PROCEDURE (VAR CHAR);
  47.         pKeyPressed = PROCEDURE (): BOOLEAN;
  48.         pCondRead   = PROCEDURE (VAR CHAR, VAR BOOLEAN);
  49.         pReadString = PROCEDURE (VAR ARRAY OF CHAR);
  50.         pRdWLR      = PROCEDURE ;
  51.         pReadCard   = PROCEDURE (VAR CARDINAL);
  52.         pReadInt    = PROCEDURE (VAR INTEGER);
  53.         pReadLCard  = PROCEDURE (VAR LONGCARD);
  54.         pReadLInt   = PROCEDURE (VAR LONGINT);
  55.         pReadNum    = PROCEDURE (VAR WORD, CARDINAL);
  56.         pReadLNum   = PROCEDURE (VAR LONGWORD, CARDINAL);
  57.         pReadReal   = PROCEDURE (VAR LONGREAL);
  58.         pWrite      = PROCEDURE (CHAR);
  59.         pWriteLn    = PROCEDURE ;
  60.         pWritePg    = PROCEDURE ;
  61.         pGotoXY     = PROCEDURE (CARDINAL, CARDINAL);
  62.         pWriteString= PROCEDURE (REF ARRAY OF CHAR);
  63.         pCloseInput = PROCEDURE ;
  64.         pCloseOutput= PROCEDURE ;
  65.  
  66. VAR     fRead: pRead;
  67.         fKeyPressed: pKeyPressed;
  68.         fCondRead: pCondRead;
  69.         fReadString: pReadString;
  70.         fRdWLR: pRdWLR;
  71.         fReadCard: pReadCard;
  72.         fReadInt: pReadInt;
  73.         fReadLCard: pReadLCard;
  74.         fReadLInt: pReadLInt;
  75.         fReadNum: pReadNum;
  76.         fReadLNum: pReadLNum;
  77.         fReadReal: pReadReal;
  78.         fWrite: pWrite;
  79.         fWriteLn: pWriteLn;
  80.         fWritePg: pWritePg;
  81.         fGotoXY: pGotoXY;
  82.         fWriteString: pWriteString;
  83.         fCloseInput: pCloseInput;
  84.         fCloseOutput: pCloseOutput;
  85.  
  86. END InOutBase.
  87.